/*
 * GameFlow.h
 *
 *  Created on: Oct 26, 2012
 *      Author: Bhupendra Aole
 */

#ifndef GAMEFLOW_H_
#define GAMEFLOW_H_

#include <map>
#include <string>
#include "Scene.h"
#include "DXEngine.h"

using namespace std;

enum GameFlowState {
	CREATED = 0,
	LOADING,
	READY
};

class GameFlow {
private:
	map<string, Scene*> scenes;
	string startScene;
	GameFlowState state;
	Scene* loaded;

public:
	GameFlow();
	~GameFlow();

	void createScene( string name );
	void setStartingScene( string name );
	void print();
	void start( aole::DXEngine* engine );
	void render( aole::DXEngine* engine );
	int getState();
};

#endif /* GAMEFLOW_H_ */
